/* Copyright (c) 2009-2010, Sean A.O. Harney <sharney3@gmail.com> */

#ifndef FUZZER_LLIST_H
#define FUZZER_LLIST_H


typedef struct st_llist *LLIST_P;

struct st_llist {
    void *element;
    size_t size;
    LLIST_P next;
};

/* prototypes */
LLIST_P llist_prepend(void *element, size_t size, LLIST_P list_head);
LLIST_P llist_append(void *element, size_t size, LLIST_P list_head);
LLIST_P llist_get_at_index(LLIST_P list_head, unsigned int index);
size_t llist_size(LLIST_P list_head);
LLIST_P llist_int_remove(int value, LLIST_P list_head);
bool llist_int_contains(int value, LLIST_P list_head);
void llist_int_print(FILE * fp, LLIST_P list_head);
int llist_str_index(char *value, LLIST_P list_head);

#endif				/* FUZZER_LLIST_H */
